package cn.iocoder.yudao.module.scrm.controller.admin.clue.vo;

import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;
import static cn.iocoder.yudao.module.scrm.enums.DictTypeConstants.*;

/**
 *
 * @Author LiZhiMin
 * @Date 2024/5/27 16:37
 */
@Schema(description = "管理后台 - 线索导出的excel类")
@Data
@ExcelIgnoreUnannotated
public class ClueExportExcelVo implements Serializable {
    @Schema(description = "姓名", example = "芋艿")
    @ExcelProperty("姓名")
    private String name;

    @Schema(description = "企业")
    @ExcelProperty("企业名称")
    private String enterprise;

    @Schema(description = "电话")
    @ExcelProperty("手机号码")
    private String phone;

    @Schema(description = "线索状态- scrm_clue_state")
    @ExcelProperty(value = "线索状态", converter = DictConvert.class)
    @DictFormat(SCRM_CLUE_STATE)
    private String clueState;

    @Schema(description = "素材来源")
    @ExcelProperty(value = "素材来源")
    private String materialSource;

    @Schema(description = "获客时间")
    @ExcelProperty("获客时间")
    @DateTimeFormat(pattern =FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    @ColumnWidth(20) // 设置列宽度为20个字符
    private LocalDateTime acquisitionTime;

    @Schema(description = "客户来源  scrm_clue_client")
    @ExcelProperty(value = "客户来源", converter = DictConvert.class)
    @DictFormat(SCRM_CLUE_CLIENT)
    private String clientSource;


    @Schema(description = "客户质量  scrm_clue_idea")
    @ExcelProperty(value = "客户意向" , converter = DictConvert.class)
    @DictFormat(SCRM_CLUE_IDEA)
    private String clientQuality;


    @Schema(description = "线索当前的归属人")
    @ExcelProperty(value = "负责人" )
    private String cluePerson;



    @Schema(description = "线索来源推广")
    @ExcelProperty("线索来源")
    private String clueSource;

    @Schema(description = "信息来源  scrm_clue_info")
    @ExcelProperty(value = "信息来源" , converter = DictConvert.class)
    @DictFormat(SCRM_CLUE_INFO)
    private String infoSource;

    @Schema(description = "备注", example = "你说的对")
    @ExcelProperty("备注")
    private String remark;



}
